import type { App } from 'vue'
import {
  Button,
  Divider,
  Row,
  Col,
  Space,
  Dropdown,
  Menu,
  Pagination,
  Steps,
  AutoComplete,
  Cascader,
  Checkbox,
  DatePicker,
  Form,
  Input,
  InputNumber,
  Radio,
  Select,
  Switch,
  TimePicker,
  TreeSelect,
  Upload,
  Avatar,
  Badge,
  Card,
  Collapse,
  Descriptions,
  Empty,
  Image,
  List,
  Popover,
  Statistic,
  Table,
  Tabs,
  Tag,
  Timeline,
  Tooltip,
  Tree,
  Alert,
  Drawer,
  Modal,
  Popconfirm,
  Progress,
  Result,
  Skeleton,
  Spin
} from 'ant-design-vue'

export default {
  install(app: App) {
    app.use(Button)
      .use(Divider)
      .use(Row)
      .use(Col)
      .use(Space)
      .use(Dropdown)
      .use(Menu)
      .use(Pagination)
      .use(Steps)
      .use(AutoComplete)
      .use(Cascader)
      .use(Checkbox)
      .use(DatePicker)
      .use(Form)
      .use(Input)
      .use(InputNumber)
      .use(Radio)
      .use(Select)
      .use(Switch)
      .use(TimePicker)
      .use(TreeSelect)
      .use(Upload)
      .use(Avatar)
      .use(Badge)
      .use(Card)
      .use(Collapse)
      .use(Descriptions)
      .use(Empty)
      .use(Image)
      .use(List)
      .use(Popover)
      .use(Statistic)
      .use(Table)
      .use(Tabs)
      .use(Tag)
      .use(Timeline)
      .use(Tooltip)
      .use(Tree)
      .use(Alert)
      .use(Drawer)
      .use(Modal)
      .use(Popconfirm)
      .use(Progress)
      .use(Result)
      .use(Skeleton)
      .use(Spin)
  }
}
